package com.app.controller;


import com.app.util.DateUtil;
import com.app.util.TencentYunVedioUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Calendar;
import java.util.Date;

@RestController
@RequestMapping("/")
public class LiveController {


    /**

     * 生成推流全路径地址

     *      * @param pushUrl 推流地址 头部

     *      * @param stream_id 直播码  调用该方法genLiveCode() 生成

     *      * @param push_key 推流鉴权

     *      * @return

     *

     */

    @PostMapping("createPushUrl")
    public static String createPushUrl(Date date) {

        date = new Date();


        //过期时间 16进制的unix时间戳
        String txTime = TencentYunVedioUtil.to16Hex(DateUtil.addDays(date,1));

        // 填写自己的streamName

        String streamName="xxxxx";

        StringBuffer sb = new StringBuffer();

        String pushUrlHead=TencentYunVedioUtil.pushUrl;

        // String stream_id = TencentYunVedioUtil.bizid();

        sb.append(pushUrlHead).append("?").append("txSecret=")
                .append(TencentYunVedioUtil.genSign(TencentYunVedioUtil.push_key, streamName,txTime)).append("&").append("txTime=")
                .append(txTime);

      System.out.println(txTime);
        return sb.toString();

    }

    /**

     *      * 生成拉流全路径地址

     *      * @param playUrlHead  拉流的头地址

     *      * @param stream_id  直播码  调用该方法genLiveCode() 生成

     *      * @param play_key  拉流鉴权

     *      * @param end 如 .flv结尾

     *      * @return

     */

    @PostMapping("createPlayUrl")

    public static String createPlayUrl() {

        //过期时间 16进制的unix时间戳

        String txTime = TencentYunVedioUtil.to16Hex(TencentYunVedioUtil.addOneDay());

        StringBuffer sb = new StringBuffer();

        //String stream_id = TencentYunVedioUtil.bizid();

        sb.append(TencentYunVedioUtil.playUrl_flv).append("?").append("txSecret=").append(TencentYunVedioUtil.pushSign(TencentYunVedioUtil.play_key, txTime))

                .append("&")

                .append("txTime=")

                .append(txTime);

        return sb.toString();

    }

}
